#ifndef _STAFFMQCLIENTEXPORT_H_
#define _STAFFMQCLIENTEXPORT_H_

#if defined(WIN32) || defined (_WINDOWS)
#pragma warning(disable: 4786)

#ifdef STAFFMQ_DLL_EXPORTS
#define STAFFMQ_CLIENT_EXPORT __declspec(dllexport)
#else
#define STAFFMQ_CLIENT_EXPORT __declspec(dllimport)
#endif

#define STAFFMQ_DEPRECATED(Replacement) _CRT_INSECURE_DEPRECATE(Replacement)

#else
#define STAFFMQ_CLIENT_EXPORT 
#define STAFFMQ_DEPRECATED(Replacement)
#endif

#endif // _STAFFMQCLIENTEXPORT_H_

/*! \namespace smq
    \brief staff-mq namespace
*/

/*! \mainpage staff-mq

Staff-mq is a simple message queueing system based on WSF Staff.

Staff-mq provides features as follows:
  - synchronous and asynchronous message delivery;
  - support for queue name patterns while publishing message;
  - support for queue name patterns while subscribing to queue;
  - queue access functions: get message count, get message headers, get message by id, get last message;
  - complex types transmission support(structs, typedefs, STL containers);
  - queue limiting by message count;

See also <a href="annotated.html">annotated class list</a>, implemented by library.

external links:
  - staff-mq project: http://code.google.com/p/staff-mq/
  - wsf staff project: http://code.google.com/p/staff/
*/
